home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48hor2
/
clk8.doc
< prev
next >
Wrap
Text File
|
1995-03-31
|
9KB
|
204 lines
CLK.DOC File
(c) Hewlett-Packard Company, 1992.
Overview
--------
The CLK application keeps the system clock as accurate as possible by
synchronizing the clock with a time standard, and using the accumulated
adjustments with the elapsed time to compute the necessary correction
amount/rate. It is especially useful for applications like navigation that
require extremely accurate times.
Adjustments are made relative to the nearest number of 1/2 hour time-zone
changes. All changes that are multiples of 1/2 hour are assumed time-zone
changes (and ignored in error correction computation); other changes are
assumed error corrections. For example, a change of +1:35 is assumed to be
+1:30 time-zone change (ignored) and +:05 error correction (the clock is 5
minutes slow). A change of +1:25 is assumed to be +1:30 time-zone and -:05
error (the clock is 5 minutes fast).
Installation
------------
Transfer CLK into your HP 48 HOME directory. (Don't use the HP 48 built-in
TIME SET/ADJST operations while this application is active.)
Operation
---------
1. Press [VAR]|CLK| to access the application.
2. Enter a list containing the minimum interrupt rate and the maximum
clock deviation allowed, press |C.RST|. (This initializes the
application.)
3. If necessary, enter a list containing the current time and date, press
|C.SET|.
4. Enter the desired adjustment, press |C.ADJ|.
5. Repeat steps 4 and 5 as needed.
6. Press |C.XCT| when the clock is synchronized.
7. Wait a few weeks and then repeat steps 4, 5, 6, and 7.
8. Press |C.STS| to review the status information.
9. Press |C.SSP| to suspend the correction alarm cycle temporarily; press
|C.CNT| to continue the suspended correction alarm.
10. Repeat step 3 to cancel the correction alarm and reinitialize all CLK
variables.
---------------------------------------------------------------------------
Note: If you abort the program, flags that were changed by the program
will remain changed.
---------------------------------------------------------------------------
User Menu Keys
--------------
The following five programs make up the user interface to this package.
Each will give an error message if the expected input is not found. The
error message attempts to indicate the form of the input expected. Time
input should be in the form HH.MMSSs, and date input should be MM.DDYYYY.
|C.SET| Takes a level-1 list containing the current time and date. The
clock is set to this time/date.
|C.ADJ| Takes from level 1 the amount of adjustment to be applied to the
current time. A positive amount increases the time and a
negative amount decreases it.
|C.XCT| Takes nothing from the stack; tells the correction package that
the clock is now exactly synchronized with the time standard. If
this is the first time it has been invoked, then a time base is
activated and all error corrections from this point on will be
accumulated. If this is the second or subsequent invocation,
then the time base is extended to this point and the necessary
calculations are done to set up the clock correction package. An
alarm is scheduled and the correction package will make the
needed clock corrections from now on. Subsequent invocations
will refine the accuracy of the corrections.
|C.RST| Takes a level-1 list containing the minimum interrupt rate and
the maximum clock deviation allowed (both in "time" format). The
correction package is reset to a virgin state--the time base is
deactivated, the alarm is removed, and further error corrections
will not be accumulated (the accumulators are cleared). All
variables are reinitialized and the directory is reordered.
Maximum clock deviation specifies the maximum acceptable error
for the clock. If the absolute value of the given maximum
deviation is less than .01 second, then it is set to 1 second.
Minimum interrupt rate specifies the minimum amount of time
required between clock adjustments. If the absolute value of the
given minimum interrupt rate is less than 1 second, then it is
set to 1 minute. If the clock cannot be adjusted to accurate
time with the given maximum deviation without using alarms at a
more frequent rate than allowed by the minimum interrupt rate,
the correction amount will be increased as needed to ensure that
alarms do not occur more often. Consequently, the clock may not
be as accurate as specified by the maximum deviation. This
ensures that alarms are not occurring so often that the HP 48 has
no time to do anything else (see the "Note" at the end of the
documentation).
|C.STS| Takes no input from level 1; provides 3 pages of status
information about the correction package.
All pages have this header:
Correction status -N- (Where N = 1, 2, or 3)
All pages have this foot:
prev:{up-arrow} exit:{down arrow} next:{right arrow}
The first page of status information looks like this:
Exact initiated(*):
9.1455 10.301989
Deviation: 0.000025
Min rate: 1.0000
The first two lines show the time and date of the first exact
synchronization. If the display shows "none," an exact has never
been done. If there is an (*), then 2 or more exacts have been
done and the package is fully activated. If there is no (*),
only one exact has been done (errors are being accumulated but no
corrections are being done yet). The third line shows user
specified maximum clock deviation (1/4 second in example). The
fourth line shows the user specified minimum interrupt rate (1
hour in example).
The second page contains adjustment data:
Timezones: 0.0000
Errors: 0.001890
Timebase: 1718.3909
The first line shows the total accumulated time-zone changes.
The second line shows the total accumulated error corrections
(18.9 seconds in example). The third line shows the total time
included in the time base (1718 hours, 39 minutes, and 9 seconds
in example).
The third page contains correction data:
Next correction:
11.1644 1.101990
Repeat: 22.4520
Adjust: 0.000025
The first line may be either "Next correction:" (the next
correction time is displayed) or "Adjust suspended:" (the time
that the corrections were suspended is displayed). The third
line shows the repeat interval of the alarm (22 hours, 45
minutes, and 20 seconds in example). The fourth line shows the
correction adjustment amount (+1/4 second in example).
If a status is displayed for 1 minute with no keys pressed, it
times out and exits.
|C.SSP| Suspends the correction alarm (if corrections are active). The
status report will indicate the time of the suspension. If the
|C.SET|, |C.ADJ|, or |C.XCT| keys are used while the correction
alarm is suspended, the results may not be correct. (|C.SSP| is
found on page 2 of the menu.)
|C.CNT| Resumes (continues) the correction alarm cycle if corrections are
active. Any missed corrections will be made and the next
correction alarm will be set up. (|C.CNT| is found on page 2 of
the menu.)
Application Menu Keys
---------------------
The |C.TLS| menu key contains subroutines and variables used internally by
the application. You do not need to use them to run the application.
---------------------------------------------------------------------------
Note: The alarm should work regardless of the directory path when the
alarm occurs, and it should leave things as they were when it
happened. However, if the HP 48 is off when the alarm occurs, it
will be turned on and left on until the HP 48 times out. If alarms
occur at a rate less than the time-out period, the HP 48 will
always be on. If anything is being done when the alarm occurs, the
alarm will either not process immediately (when a program is
running, the alarm doesn't process until the program terminates),
or it will abort what is happening (edits will be terminated as if
the [ATTN] key had been pressed).
---------------------------------------------------------------------------
V. 1.0 04/26/92 04:09 PM